{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "8bW5uwdFfj5K",
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\SONAL BANSAL\\Anaconda3\\lib\\site-packages\\sklearn\\ensemble\\weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release.\n",
      "  from numpy.core.umath_tests import inner1d\n"
     ]
    }
   ],
   "source": [
    "import random,math,copy,time\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.ensemble import (RandomForestClassifier,GradientBoostingClassifier)\n",
    "from sklearn import tree\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn.model_selection import train_test_split,cross_val_score\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import preprocessing, svm\n",
    "from tqdm import tqdm\n",
    "import time\n",
    "from sklearn.model_selection import GridSearchCV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "S6-dFa8Jfj5Q"
   },
   "outputs": [],
   "source": [
    "m=20  # Problem dimension (number of decision variables\n",
    "Ap=0.1  # Awareness probability\n",
    "fl=2   # Flight length (fl)\n",
    "wf=1.2# wf is used to control the importance of classification accuracy and number of selected features.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "VSQ4rCRjfj5V"
   },
   "outputs": [],
   "source": [
    "df=pd.read_csv(\"AD-MCI-CN.csv\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "yBZV56q2m6-s"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>label</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>...</th>\n",
       "      <th>67590</th>\n",
       "      <th>67591</th>\n",
       "      <th>67592</th>\n",
       "      <th>67593</th>\n",
       "      <th>67594</th>\n",
       "      <th>67595</th>\n",
       "      <th>67596</th>\n",
       "      <th>67597</th>\n",
       "      <th>67598</th>\n",
       "      <th>67599</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>55</td>\n",
       "      <td>56</td>\n",
       "      <td>57</td>\n",
       "      <td>57</td>\n",
       "      <td>57</td>\n",
       "      <td>57</td>\n",
       "      <td>56</td>\n",
       "      <td>55</td>\n",
       "      <td>56</td>\n",
       "      <td>...</td>\n",
       "      <td>59</td>\n",
       "      <td>59</td>\n",
       "      <td>59</td>\n",
       "      <td>59</td>\n",
       "      <td>59</td>\n",
       "      <td>59</td>\n",
       "      <td>60</td>\n",
       "      <td>59</td>\n",
       "      <td>58</td>\n",
       "      <td>57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 67601 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   label    0    1    2    3    4    5    6    7    8  ...    67590  67591  \\\n",
       "0      0   55   56   57   57   57   57   56   55   56  ...       59     59   \n",
       "1      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "2      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "3      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "4      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "\n",
       "   67592  67593  67594  67595  67596  67597  67598  67599  \n",
       "0     59     59     59     59     60     59     58     57  \n",
       "1    255    255    255    255    255    255    255    255  \n",
       "2    255    255    255    255    255    255    255    255  \n",
       "3    255    255    255    255    255    255    255    255  \n",
       "4    255    255    255    255    255    255    255    255  \n",
       "\n",
       "[5 rows x 67601 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.dropna(how='all')\n",
    "# df=df.drop(columns=['Unnamed: 0'])\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 235
    },
    "colab_type": "code",
    "id": "i5qnzPEforlt",
    "outputId": "e49cbf0d-6390-45dd-f8ee-52397198c00f"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 2186 entries, 0 to 2185\n",
      "Columns: 67601 entries, label to 67599\n",
      "dtypes: int64(67601)\n",
      "memory usage: 1.1 GB\n"
     ]
    }
   ],
   "source": [
    "df.info()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "PPwseQsIglXa"
   },
   "outputs": [],
   "source": [
    "val_Data = pd.read_csv(\"AD-MCI-CN_val.csv\")\n",
    "val_Data = val_Data.dropna(how='all')\n",
    "#val_Data=val_Data.drop(columns=['Unnamed: 0'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 235
    },
    "colab_type": "code",
    "id": "wmWJFkWDgu_7",
    "outputId": "c147cdca-b994-4f9b-8b49-22c8ca7d71e1"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>label</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>...</th>\n",
       "      <th>67590</th>\n",
       "      <th>67591</th>\n",
       "      <th>67592</th>\n",
       "      <th>67593</th>\n",
       "      <th>67594</th>\n",
       "      <th>67595</th>\n",
       "      <th>67596</th>\n",
       "      <th>67597</th>\n",
       "      <th>67598</th>\n",
       "      <th>67599</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>254</td>\n",
       "      <td>253</td>\n",
       "      <td>254</td>\n",
       "      <td>...</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "      <td>255</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 67601 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   label    0    1    2    3    4    5    6    7    8  ...    67590  67591  \\\n",
       "0      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "1      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "2      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "3      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "4      0  255  255  255  255  255  255  254  253  254  ...      255    255   \n",
       "\n",
       "   67592  67593  67594  67595  67596  67597  67598  67599  \n",
       "0    255    255    255    255    255    255    255    255  \n",
       "1    255    255    255    255    255    255    255    255  \n",
       "2    255    255    255    255    255    255    255    255  \n",
       "3    255    255    255    255    255    255    255    255  \n",
       "4    255    255    255    255    255    255    255    255  \n",
       "\n",
       "[5 rows x 67601 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val_Data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 611 entries, 0 to 610\n",
      "Columns: 67601 entries, label to 67599\n",
      "dtypes: int64(67601)\n",
      "memory usage: 315.1 MB\n"
     ]
    }
   ],
   "source": [
    "val_Data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "_W4D-XnDfj5j"
   },
   "outputs": [],
   "source": [
    "features = [i for i in range(0,67600)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "VvAFiZhvfj5n"
   },
   "outputs": [],
   "source": [
    "d=67600# Flock (population) size\n",
    "lt=67600\n",
    "y_train=df['label']\n",
    "x_train=df[df.columns[1:]]\n",
    "x_train.columns=features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "K-e_XSa4pKr8"
   },
   "outputs": [],
   "source": [
    "y_test = val_Data['label']\n",
    "x_test = val_Data[val_Data.columns[1:]]\n",
    "x_test.columns=features"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## WITHOUT GRID-SEARCH AND WITHOUT BIO-INSPIRED"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Kgvbr_X7fj51"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1553597000.4880366\n",
      "0.5531914893617021\n",
      "0.6955810147299509\n",
      "0.6693944353518821\n",
      "0.6873977086743044\n"
     ]
    }
   ],
   "source": [
    "print(time.time())\n",
    "\n",
    "neigh1 = KNeighborsClassifier()\n",
    "neigh1.fit(x_train, y_train)\n",
    "neigh1.predict(x_test)\n",
    "nacc1=neigh1.score(x_test,y_test)\n",
    "\n",
    "print(nacc1)\n",
    "\n",
    "#\n",
    "rforest1 = RandomForestClassifier()\n",
    "rforest1.fit(x_train, y_train)\n",
    "rforest1.predict(x_test)\n",
    "rfacc1=rforest1.score(x_test,y_test)\n",
    "\n",
    "print(rfacc1)\n",
    "\n",
    "#\n",
    "dtree1 = tree.DecisionTreeClassifier()\n",
    "dtree1.fit(x_train, y_train)\n",
    "dtree1.predict(x_test)\n",
    "dtacc1=dtree1.score(x_test,y_test)\n",
    "\n",
    "print(dtacc1)\n",
    "\n",
    "clf1 = svm.SVC()\n",
    "clf1.fit(x_train, y_train)\n",
    "clf1.predict(x_test)\n",
    "clfacc1=clf1.score(x_test,y_test)\n",
    "\n",
    "print(clfacc1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0. 0. 0. ... 0. 0. 0.]\n"
     ]
    }
   ],
   "source": [
    "im=(rforest1.feature_importances_)\n",
    "print(im)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0%|                                                                                        | 0/67600 [00:00<?, ?it/s]C:\\Users\\SONAL BANSAL\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:3: FutureWarning: set_value is deprecated and will be removed in a future release. Please use .at[] or .iat[] accessors instead\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n",
      "100%|███████████████████████████████████████████████████████████████████████████| 67600/67600 [09:30<00:00, 118.50it/s]\n"
     ]
    }
   ],
   "source": [
    "imo=pd.Series()\n",
    "for i in tqdm(range(d)):\n",
    "    imo= imo.set_value(features[i],im[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "imo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "67600"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "imo.to_csv('importance_feature_AD-MCI-CN.csv')\n",
    "len(imo)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## WITH GRID-SEARCH WITHOUT BIO-INSPIRED"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 108 candidates, totalling 324 fits\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 3.6min\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:  3.6min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 2.2min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  24.4s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  29.8s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  31.2s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 1.7min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  25.6s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  25.3s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  26.5s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 1.6min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 1.7min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 1.7min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  24.6s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  23.6s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  27.9s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=best, total= 1.5min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=random, total=  24.3s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=random, total=  25.5s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=5, splitter=random, total=  28.2s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=best, total= 1.7min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=best, total= 1.7min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=random, total=  25.5s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=random, total=  26.4s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=10, splitter=random, total=  27.5s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=best, total= 1.5min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=best, total= 1.7min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=best, total= 2.0min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=random, total=  19.6s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=random, total=  26.0s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=4, min_samples_split=20, splitter=random, total=  29.0s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=best, total= 1.4min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=best, total= 1.4min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=random, total=  22.5s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=random, total=  23.0s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=5, splitter=random, total=  25.4s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=best, total= 1.3min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=best, total= 2.2min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=random, total=  25.5s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=random, total=  32.1s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=10, splitter=random, total=  28.8s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=best, total= 1.7min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=best, total= 1.7min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=best, total= 1.4min\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=random, total=  18.1s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=random, total=  20.6s\n",
      "[CV] criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=10, min_samples_leaf=6, min_samples_split=20, splitter=random, total=  28.1s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 2.1min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 2.3min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  31.7s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  31.2s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  28.6s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 2.2min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 2.4min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  29.4s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  27.4s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  30.4s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 2.2min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 2.4min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  28.0s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  28.4s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  26.4s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=best, total= 1.6min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=best, total= 2.2min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=best, total= 2.4min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=random, total=  30.2s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=random, total=  34.6s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=5, splitter=random, total=  31.4s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=best, total= 2.2min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=best, total= 2.3min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=random, total=  32.8s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=random, total=  31.6s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=10, splitter=random, total=  31.2s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=best, total= 2.0min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=best, total= 2.0min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=random, total=  30.7s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=random, total=  32.6s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=4, min_samples_split=20, splitter=random, total=  32.6s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=best, total= 2.1min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=random, total=  27.9s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=random, total=  26.1s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=5, splitter=random, total=  29.4s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=best, total= 2.0min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=best, total= 2.1min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=best, total= 1.6min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=random, total=  20.6s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=random, total=  25.9s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=10, splitter=random, total=  20.8s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=best, total= 1.2min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=best, total= 2.0min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=best, total= 1.6min\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=random, total=  19.5s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=random, total=  31.4s\n",
      "[CV] criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=20, min_samples_leaf=6, min_samples_split=20, splitter=random, total=  28.8s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 2.0min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=best, total= 1.5min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  25.6s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  30.9s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=5, splitter=random, total=  32.2s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  27.1s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  31.5s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=10, splitter=random, total=  29.6s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 2.0min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=best, total= 1.9min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  23.4s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  26.5s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=random \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=2, min_samples_split=20, splitter=random, total=  23.5s\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=4, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=4, min_samples_split=5, splitter=best, total= 1.5min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=4, min_samples_split=5, splitter=best \n",
      "[CV]  criterion=gini, max_depth=30, min_samples_leaf=4, min_samples_split=5, splitter=best, total= 1.8min\n",
      "[CV] criterion=gini, max_depth=30, min_samples_leaf=4, min_samples_split=5, splitter=best \n"
     ]
    }
   ],
   "source": [
    "dtparams = {'criterion':['gini', 'entropy'], 'splitter':['best','random'], 'max_depth':[10,20,30], 'min_samples_split':[5,10,20], 'min_samples_leaf':[2,4,6]}\n",
    "grid_dt = GridSearchCV(dtree1, dtparams, verbose=2)\n",
    "grid_dt.fit(x_train, y_train)\n",
    "grid_dt.predict(x_test)\n",
    "print(grid_dt.best_score_)\n",
    "print(grid_dt.best_params_)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "rfparams = {'n_estimators':[10,100,200,300,400,500], 'criterion':['gini','entropy'], 'max_depth':[10,20,30], 'min_samples_split':[5,10,20], 'min_samples_leaf':[2,4,6]}\n",
    "grid_rf = GridSearchCV(rforest1, rfparams, verbose=2)\n",
    "grid_rf.fit(x_train, y_train)\n",
    "grid_rf.predict(x_test)\n",
    "print(grid_rf.best_score_)\n",
    "print(grid_rf.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "svcparams = {'C':[1.0,10,100,1000], 'kernel':['rbf','linear', 'poly', 'sigmoid'], 'degree':[3,4,5], 'gamma':['auto',0.1,0.01,0.001]}\n",
    "grid_svc = GridSearchCV(clf1, svcparams, verbose=2)\n",
    "grid_svc.fit(x_train, y_train)\n",
    "grid_svc.predict(x_test)\n",
    "print(grid_svc.best_score_)\n",
    "print(grid_svc.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "knnparams = {'algorithm':['auto', 'ball_tree', 'kd_tree', 'brute'], 'n_neighbors':[3, 4, 5, 6, 7], 'leaf_size':[10, 20, 30, 40], 'p':[1, 2, 3]}\n",
    "grid_knn = GridSearchCV(neigh1, knnparams, verbose=2)\n",
    "grid_knn.fit(x_train, y_train)\n",
    "grid_knn.predict(x_test)\n",
    "print(grid_knn.best_score_)\n",
    "print(grid_knn.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "JSz_SiuQfj6S"
   },
   "outputs": [],
   "source": [
    "def init():   #initialization function\n",
    "    df2=pd.DataFrame(np.ones((m,d),dtype='int'),columns=features)\n",
    "    return df2\n",
    "#df2=init()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## FITNESS FUNCTION"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "ylLmuEVjfj6X"
   },
   "outputs": [],
   "source": [
    "# this defines the fitness of each crow by calculating their accuracy and no features selected using the below formula\n",
    "def fitness(df2):      # fitness function whose 1 parameter takes the crows and their position as input\n",
    "    fnt=np.zeros((m,1))  # fnt is the fitness function\n",
    "    for k in tqdm(range(m)):    \n",
    "        global sel\n",
    "        sel=[]\n",
    "        q=0\n",
    "        imp=0\n",
    "        a=(df2.iloc[k,:])==0.0\n",
    "        if a.all()==True:\n",
    "            df2.iloc[k,:]=1.0\n",
    "        for p in list(features):\n",
    "            if df2.loc[k,p]==1.0:\n",
    "                sel.insert(q,p)\n",
    "                temp=imo[p]\n",
    "                imp=imp+temp\n",
    "            q=q+1\n",
    "        lf=len(sel)\n",
    "        divide=lf/lt\n",
    "        fnt[k]=imp+wf*(1-float(lf/lt))     # fitness formula\n",
    "    return fnt\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "3JX1sTSufj6c"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [02:13<00:00,  6.69s/it]\n"
     ]
    }
   ],
   "source": [
    "z=init()   #crow memory with initial position\n",
    "tmax=50   # Maximum number of iterations (itermax)\n",
    "xn=z.copy()  # the position of the crow\n",
    "mem=init()  # memory is initialized using the init function\n",
    "xnew=(xn).copy()   # the positions of the crow\n",
    "ft=fitness(xn)\n",
    "plotit=[]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## FEATURES IMPORTANCE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "cRGlsQ57fj6j",
    "outputId": "ecb5e6e9-c09c-4581-d79f-55308fae3400"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 34.46it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 199.67it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:03<00:00,  3.19s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [30:02<00:00, 90.12s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete0\n",
      "1\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 40.41it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 216.82it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:45<00:00,  5.29s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 2481.91it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete1\n",
      "2\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 50.47it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 181.38it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:46<00:00,  5.35s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:30<00:00,  4.54s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete2\n",
      "3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 60.26it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 218.07it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:48<00:00,  5.41s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete3\n",
      "4\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 35.47it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 280.24it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:46<00:00,  5.34s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete4\n",
      "5\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 45.37it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 164.61it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:42<00:00,  5.12s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete5\n",
      "6\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 42.84it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 238.85it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:49<00:00,  5.46s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete6\n",
      "7\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 57.25it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 317.99it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:42<00:00,  5.14s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete7\n",
      "8\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 56.04it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 223.13it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:47<00:00,  5.37s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete8\n",
      "9\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 38.51it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 245.79it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:45<00:00,  5.26s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete9\n",
      "10\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 49.18it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 151.36it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:19<00:00,  3.96s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [04:19<00:00, 12.96s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete10\n",
      "11\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 46.09it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 244.33it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:53<00:00,  5.66s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete11\n",
      "12\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 36.68it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 163.66it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:29<00:00,  4.49s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.34s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete12\n",
      "13\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 74.02it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 151.97it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:31<00:00,  4.60s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 446202.55it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete13\n",
      "14\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 67.55it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 200.35it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:29<00:00,  4.48s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete14\n",
      "15\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 90.30it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 271.59it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:48<00:00,  5.41s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete15\n",
      "16\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 48.32it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 246.49it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:50<00:00,  5.51s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete16\n",
      "17\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 49.71it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 279.83it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:51<00:00,  5.58s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete17\n",
      "18\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 43.80it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 197.72it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.32s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 163520.62it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete18\n",
      "19\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 63.09it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 281.67it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:23<00:00,  4.18s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete19\n",
      "20\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 92.20it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 244.31it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:22<00:00,  4.11s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:09<00:00,  3.49s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete20\n",
      "21\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 68.61it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 279.34it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:24<00:00,  4.24s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 1981.67it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete21\n",
      "22\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 58.54it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 516.87it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:21<00:00,  4.07s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete22\n",
      "23\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 64.15it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 351.05it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.34s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 9427.52it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete23\n",
      "24\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 49.31it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 238.34it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:19<00:00,  3.96s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete24\n",
      "25\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 74.74it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 270.81it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.32s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 9548.79it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete25\n",
      "26\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 92.22it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 277.95it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:14<00:00,  3.74s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete26\n",
      "27\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 64.13it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 164.69it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:31<00:00,  4.56s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete27\n",
      "28\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 57.99it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 196.85it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.31s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete28\n",
      "29\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 46.57it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 314.91it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:31<00:00,  4.55s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete29\n",
      "30\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 60.10it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 313.05it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:25<00:00,  4.28s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete30\n",
      "31\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 96.78it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 319.91it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:28<00:00,  4.40s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete31\n",
      "32\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 49.51it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 226.73it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:17<00:00,  3.86s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 2470.94it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete32\n",
      "33\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 73.95it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 351.05it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.34s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete33\n",
      "34\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 58.44it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 312.97it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.33s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete34\n",
      "35\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 94.64it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 271.10it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:28<00:00,  4.41s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete35\n",
      "36\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 52.26it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 271.66it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:23<00:00,  4.20s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:10<00:00,  3.54s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete36\n",
      "37\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 55.95it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 319.81it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:25<00:00,  4.28s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete37\n",
      "38\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 67.49it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 246.36it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:22<00:00,  4.13s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete38\n",
      "39\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 91.34it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 275.79it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.33s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 2494.68it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete39\n",
      "40\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 66.32it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 212.39it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:10<00:00,  3.52s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete40\n",
      "41\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 66.60it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 244.65it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:25<00:00,  4.27s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete41\n",
      "42\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 57.20it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 270.98it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.34s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete42\n",
      "43\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 63.28it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 278.29it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:22<00:00,  4.10s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete43\n",
      "44\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 76.25it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 221.55it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:12<00:00,  3.64s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete44\n",
      "45\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 75.50it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 270.87it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:22<00:00,  4.12s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete45\n",
      "46\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 63.02it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 270.84it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:24<00:00,  4.21s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete46\n",
      "47\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 53.66it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 273.03it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:28<00:00,  4.44s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:14<00:00,  3.70s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete47\n",
      "48\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 54.34it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 279.79it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:26<00:00,  4.35s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete48\n",
      "49\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 55.10it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transpose\n",
      "exp\n",
      "apply lambda\n",
      "copied\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 249.09it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running fitness\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [01:28<00:00,  4.43s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fitness done\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "complete49\n",
      "183.94874027797155\n"
     ]
    }
   ],
   "source": [
    "tottime=0\n",
    "# it is a formula to convert positions of each crow into 0 and 1 \n",
    "for t in range(tmax):\n",
    "    print(t)# no of iterations\n",
    "    time1=time.time()\n",
    "   \n",
    "    xnew_list = []\n",
    "    plotit.append(ft.max())\n",
    "    num = random.randint(0,m-1)  \n",
    "   # Generation of random candidate crows for following (chasing)\n",
    "    for i in tqdm(range(m)):   \n",
    "       \n",
    "        r=random.random()\n",
    "        if r>=Ap:\n",
    "            \n",
    "            xnew_list.append((xn.loc[i,:]+fl*r*(mem.loc[num,:]-xn.loc[i,:])).tolist())# Generation of a new position for crow i (state 1)\n",
    "            \n",
    "        else:\n",
    "            \n",
    "            xnew_list.append((xnew.loc[i,:].apply(lambda lam:random.random())).tolist())   # Generation of a new position for crow i (state 2)\n",
    "            \n",
    "            \n",
    "    xnew = pd.DataFrame(xnew_list)\n",
    "    del xnew_list\n",
    "    print('transpose')\n",
    "    xnew= 1/( 1 + np.expm1(( 10*(xnew-0.5))))    #  formula to convert positions of each crow into 0 and 1\n",
    "    print('exp')\n",
    "    xnew=xnew.apply(lambda l:l>=random.random()).astype(int)\n",
    "    print('apply lambda')\n",
    "    xn=xnew.copy()     \n",
    "    print('copied')\n",
    "    # it is the updated binary position of each crow\n",
    "    #feasibility test\n",
    "    # this is done so that to check if atleast one position of the crow has value equal to 1. if it is not true then every\n",
    "    # position value of the crow is made 1.\n",
    "    for i in tqdm(range(m)):\n",
    "        \n",
    "        if ((xn.loc[i,:])==0.0).all()==True:\n",
    "            xn.loc[i,:]=1.0\n",
    "    \n",
    "    print('running fitness')\n",
    "    ft_new=fitness(xn).reshape(ft.shape)# here the accuracy of each crows are calculated.\n",
    "\n",
    "    print('fitness done')\n",
    "    for i in tqdm(range(m)):\n",
    "         \n",
    "        if ft_new[i]>ft[i]:\n",
    "            ft[i]=ft_new[i]\n",
    "            for j in features:\n",
    "                mem.loc[i,j]= xn.loc[i,j]\n",
    "    \n",
    "    print('complete'+str(t))\n",
    "    time2=time.time()\n",
    "    tottime=tottime+(time2-time1)\n",
    "print(tottime/t+1)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## WITHOUT GRID SEARCH , WITH BIO-INSPIRED"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "UWaVv43_fj6r",
    "outputId": "4f74a579-a407-46f5-da84-45edd05a6d62"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  0%|                                                                                           | 0/20 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n",
      "[0.49263502]\n",
      "[0.6710311]\n",
      "[0.68248773]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  5%|████▏                                                                              | 1/20 [00:39<12:35, 39.77s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n",
      "[0.49263502]\n",
      "[0.66284779]\n",
      "[0.66939444]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 10%|████████▎                                                                          | 2/20 [01:10<10:33, 35.18s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n",
      "[0.49263502]\n",
      "[0.67757774]\n",
      "[0.67594108]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 15%|████████████▍                                                                      | 3/20 [01:39<09:22, 33.10s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3\n",
      "[0.57446809]\n",
      "[0.65630115]\n",
      "[0.64320786]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 20%|████████████████▍                                                                 | 4/20 [11:52<47:30, 178.15s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4\n",
      "[0.49263502]\n",
      "[0.6710311]\n",
      "[0.66448445]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 25%|████████████████████▌                                                             | 5/20 [12:25<37:15, 149.01s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n",
      "[0.54991817]\n",
      "[0.68576105]\n",
      "[0.67757774]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 30%|████████████████████████                                                        | 6/20 [27:02<1:03:06, 270.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6\n",
      "[0.49263502]\n",
      "[0.65957447]\n",
      "[0.66775777]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 35%|████████████████████████████▋                                                     | 7/20 [27:35<51:14, 236.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7\n",
      "[0.57446809]\n",
      "[0.68248773]\n",
      "[0.67757774]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 40%|████████████████████████████████▊                                                 | 8/20 [32:51<49:17, 246.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8\n",
      "[0.49263502]\n",
      "[0.66612111]\n",
      "[0.65139116]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 45%|████████████████████████████████████▉                                             | 9/20 [33:22<40:47, 222.49s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9\n",
      "[0.49263502]\n",
      "[0.69230769]\n",
      "[0.65466448]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 50%|████████████████████████████████████████▌                                        | 10/20 [33:54<33:54, 203.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10\n",
      "[0.49263502]\n",
      "[0.69558101]\n",
      "[0.66284779]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 55%|████████████████████████████████████████████▌                                    | 11/20 [34:24<28:08, 187.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11\n",
      "[0.49263502]\n",
      "[0.68903437]\n",
      "[0.67757774]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 60%|████████████████████████████████████████████████▌                                | 12/20 [34:54<23:16, 174.58s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "12\n",
      "[0.49263502]\n",
      "[0.68412439]\n",
      "[0.66612111]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 65%|████████████████████████████████████████████████████▋                            | 13/20 [35:24<19:04, 163.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "13\n",
      "[0.49263502]\n",
      "[0.67757774]\n",
      "[0.65793781]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 70%|████████████████████████████████████████████████████████▋                        | 14/20 [35:56<15:24, 154.01s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "14\n",
      "[0.49263502]\n",
      "[0.68576105]\n",
      "[0.66939444]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 75%|████████████████████████████████████████████████████████████▊                    | 15/20 [36:27<12:09, 145.86s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "15\n",
      "[0.49263502]\n",
      "[0.66939444]\n",
      "[0.66284779]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 80%|████████████████████████████████████████████████████████████████▊                | 16/20 [37:00<09:15, 138.77s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "16\n",
      "[0.49263502]\n",
      "[0.66121113]\n",
      "[0.66284779]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 85%|████████████████████████████████████████████████████████████████████▊            | 17/20 [37:33<06:37, 132.58s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "17\n",
      "[0.49263502]\n",
      "[0.68248773]\n",
      "[0.67266776]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 90%|████████████████████████████████████████████████████████████████████████▉        | 18/20 [38:06<04:14, 127.04s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "18\n",
      "[0.49263502]\n",
      "[0.66939444]\n",
      "[0.6710311]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 95%|████████████████████████████████████████████████████████████████████████████▉    | 19/20 [38:36<02:01, 121.94s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "19\n",
      "[0.49263502]\n",
      "[0.68412439]\n",
      "[0.67430442]\n",
      "[0.68739771]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████| 20/20 [39:08<00:00, 117.41s/it]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.574468085106383 0.6955810147299509 0.6824877250409165 0.6873977086743044\n"
     ]
    }
   ],
   "source": [
    "# here the accuracy of each crows are calculated.\n",
    "neigh2 = KNeighborsClassifier()\n",
    "rforest2 =RandomForestClassifier()\n",
    "dtree2 = tree.DecisionTreeClassifier()\n",
    "clf2 = svm.SVC()\n",
    "\n",
    "nacc2=np.zeros((m,1),dtype='float64')\n",
    "rfacc2=np.zeros((m,1),dtype='float64')\n",
    "dtacc2=np.zeros((m,1),dtype='float64')\n",
    "clfacc2=np.zeros((m,1),dtype='float64')\n",
    "\n",
    "q=0\n",
    "for i in tqdm(range(m)):\n",
    "    print(i)\n",
    "    select=[]\n",
    "    for p in list(features):\n",
    "        if mem.loc[i,p]==1:\n",
    "            select.insert(q,p)\n",
    "            q=q+1\n",
    "    neigh2.fit(x_train[select], y_train)\n",
    "    neigh2.predict(x_test[select])\n",
    "    nacc2[i]=neigh2.score(x_test[select],y_test) \n",
    "    print(nacc2[i])\n",
    "    \n",
    "    rforest2.fit(x_train[select], y_train)\n",
    "    rforest2.predict(x_test[select])\n",
    "    rfacc2[i]=rforest2.score(x_test[select],y_test) \n",
    "    print(rfacc2[i])\n",
    "    \n",
    "    dtree2.fit(x_train[select], y_train)\n",
    "    dtree2.predict(x_test[select])\n",
    "    dtacc2[i]=dtree2.score(x_test[select],y_test)\n",
    "    print(dtacc2[i])\n",
    "    \n",
    "    clf2.fit(x_train[select], y_train)\n",
    "    clf2.predict(x_test[select])\n",
    "    clfacc2[i]=clf2.score(x_test[select],y_test)\n",
    "    print(clfacc2[i])\n",
    "\n",
    "print (nacc2.max(), rfacc2.max(), dtacc2.max(),clfacc2.max()) # the crow with maximum accuracy is printed"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**SELECTED FEATURED**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "pAMS1eJkfj6_",
    "outputId": "f05d8b75-894c-480c-9657-c461161a125b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "456\n",
      "456\n",
      "456\n",
      "456\n"
     ]
    }
   ],
   "source": [
    "print ((mem.loc[nacc1.argmax(),:]==1.0).sum())\n",
    "\n",
    "print ((mem.loc[rfacc1.argmax(),:]==1.0).sum())\n",
    "print ((mem.loc[dtacc1.argmax(),:]==1.0).sum())\n",
    "print ((mem.loc[clfacc1.argmax(),:]==1.0).sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "60Wb6XQdfj7f",
    "outputId": "b4b9005b-50bb-4719-d94f-deb161810469"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.999999999999999, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.1959034530234518, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941, 1.203099968394941]\n"
     ]
    }
   ],
   "source": [
    "plotse=pd.Series(plotit)\n",
    "print(plotit)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "wp1Gtqy1fj7p",
    "outputId": "d23b913e-5000-4872-dbf8-807683a8e2d4"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x22e9ad97438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(plotse)\n",
    "plt.xlabel('No of iterations')\n",
    "plt.ylabel('Fitness value')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "mem.to_csv('memory_AD-MCI-CN.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "myccsa.ipynb",
   "provenance": [],
   "version": "0.3.2"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
